#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <string.h>
#include <unistd.h>

int main() 
{
    //umask(0);//
    int fd1 = open("log.txt", O_WRONLY | O_CREAT, 0666);
    if(fd1 < 0)
    {
        perror("open");
        return 1;
    }
    printf("fd1: %d\n", fd1);

    const char* massage = "helloworld\n";
    write(fd1, massage, strlen(massage));

    close(fd1);

    return 0;
}





// 创建一个自己的touch
//int main(int argc, char* argv[])
//{
//    open(argv[1], O_WRONLY | O_CREAT, 0666);
//
//    return 0;
//}


















// 理解标志位
//#define ONE (1<<0)
//#define TWO (1<<1)
//#define THREE (1<<2)
//#define FURE (1<<3)
//
////code 1
//void PrintTest(int flags)
//{
//    if(flags & ONE)
//    {
//        printf("one\n");
//    }
//    if(flags & TWO)
//    {
//        printf("two\n");
//    }
//    if(flags & THREE)
//    {
//        printf("three\n");
//    }
//    if(flags & FURE)
//    {
//        printf("fure\n");
//    }
//}
//
//int main()
//{
//    printf("============================\n");
//    PrintTest(ONE);
//    printf("============================\n");
//    PrintTest(TWO);
//    printf("============================\n");
//    PrintTest(THREE);
//    printf("============================\n");
//    PrintTest(ONE | TWO);
//    printf("============================\n");
//    PrintTest(ONE | TWO | THREE);
//    printf("============================\n");
//
//
//    return 0;
//}
